package com.etime.shycourse.services.coupons.interfaces;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.etime.shycourse.dto.CouponrangePackageDto;
import com.etime.shycourse.pojo.Course;
import com.etime.shycourse.pojo.Coursepackage;

import java.util.List;

/**
 *
 *
 * @author wb
 * @since 2022-03-15
 */
public interface CoursepackageServices {
    /**
     * 查询可以用课程
     *
     * @return List<Course>
     */
    List<Course> selectCourseList();

    /**
     * 查询课程包
     *
     * @return List<Coursepackage>
     */
    List<Coursepackage> selectCoursePackageList();

    /**
     * 创建课程包
     *
     * @param
     * @return 失败返回0 成功返回1
     */
    Integer insertPackage(Coursepackage coursepackage);

    /**
     * 修改课程包
     *
     * @param
     * @return 失败返回0 成功返回1
     */
    Integer updatePackageById(Coursepackage coursepackage);

    /**
     * 查询课程包
     *
     * @param packageId
     * @return Coursepackage
     */
    Coursepackage selectCoursePackageById(Integer packageId);

    /**
     * 课程包分页
     *
     * @return Page<Coursepackage>
     */
    Page<Coursepackage> selectCoursePackagePage(Long pageNum, Long pageSize);

    /**
     * 课程兑换劵, 创建优惠券使用范围.
     * <p>
     * 第一步 创建 课程包
     * 第二步 创建 课程包包含课程
     * 第三步 创建 优惠券使用范围
     *
     * @return integer 0 创建失败
     */
    @Deprecated
    Integer insertCouponRangePackage(CouponrangePackageDto packageDto);

}
